CNC
made Robot Arm Project.

OK,
some stuff before I start.
- I sometimes make these commercially, and sometimes make the
detailed drawings loosely based on these primitives available
commercially, however, this is free, gratis, no charge etc, but I'm
mindful of these not being seen as sneaky promo spam, so I have
actually put a little effort into taking the primitives and making them
into a unique thing for this project.
- To this end, this is NOT A FINISHED PROJECT, you absolutely WILL
REQUIRE some form of CAD software capable of importing .dxf format
files and tweaking the project to suit your needs. Only once you have
completed this can you export the finished objects to your CAM software.
- Included in the project are drawings for both 23 and 17 frame
steppers, and also for a linear stepper with 12 mm stroke which I use
for the grab at the end of the arm.
- One of the reasons for leaving this project incomplete is that it
allows you to specify such things as the size and type of bearings used
at each joint, and the size and type of threaded bar used to control
each linkage, and indeed whether or not you even decide to use stepper
motors at all.
Having
gotten that out of the way, a brief project description.

I
was dissatisfied with all the robot arms out there, either they all
looked really good until you realised that the "not to scale"
illustration showed it next to a grain of rice, or they were all
ridiculously complex and expensive.
Overall
I kept seeing the same issues, lifting capacity / weight was
negligible, reach was negligible, precision and repeatability didn't
appear to factor in anywhere, nor did robustness and durability, they
all seemed to me to be made like jigsaw kits, where the buyer simply
assembled them, and the assembling was where the pleasure was supposed
to be.
So,
let's talk about this design.
Arm
reach height 500 mm max from table.
Arm
reach length 400 mm max from centre of base.
Arm
precision with care better than 1 mm XYZ.
Arm
lifting capacity better than 2.5 Kg in acrylic, 5 kg in alu.
- You can build it out of 10 mm acrylic and have a reasonably
useful and reasonably accurate robot arm, or you can build it out of 10
mm aluminium and have a fairly "Industrial" grade robot arm. Personally
I'd recommend building it in acrylic FIRST, to learn the tricks, then
re-using the parts.
- If you build in aluminium you can "lighten" the arms by cutting
out webs etc, if you are building in acrylic no matter how much the
temptation to make it look pretty by cutting out webs, resist, you need
all the "meat" you can get.
- If building in acrylic you absolutely need an acrylic solvent /
adhesive to join / weld some of the parts together. Acrylic is a LOT
more flexible than aluminium and so features like the "elbow boss" are
essential to maintain rigidity.
- If you already have a CNC machine then you'll know that small
stepper motors themselves are quite cheap, so your CNC hardware will
control your robot arm quite happily, this dramatically reduces the
expense.
- IN THEORY, if you are careful, you could get precision in the
centre of the envelope of 0.1 mm with alu (and 1 mm with acrylic),
which is more than enough to for example pick and place 2.54 mm pitch
electronic components on a circuit board, whereas the lifting capacity
is more than enough to wield a dremel tool or small hot glue gun or
soldering iron.
For
the purposes of this document I will now talk exclusively in acrylic,
because you should make an acrylic one first anyway.
The Base
(92 kb dxf)
The
base is just three 200 mm diameter disks of 10 mm thick, stacked one on
top of the other.
On
top of these disks are the four flanges that support the "1st stage"
arm etc.
Each
of the three disks needs to be welded together to form a solid whole,
for rigidity. Then the four flanges can be attached, use spacers.
If
you are going to provide for (not included in this project) 360 degree
rotation of the Robot Arm you should do it by rotating this whole base.
You could consider a 23 or 17 frame stepper motor and 5mm pitch toothed
timing belt using the OD of the Base as the driven pulley.
The 1st Stage Arm
(31 kb dxf)
The
1st stage arm should have a range of movement around its lower pivot
point of at least 90 degrees.
This
should be 25 degrees past vertical on the side nearest the edge of the
base, and 65 degrees past vertical on the side furthest from the edge
of the base where the four flanges taper down to the surface of the
base.
Control
of the angle of the 1st stage arm is via the 1st stage muscle (not
included in plans)
You
could consider mounting a 17 frame stepper at the lower end of the 1st
stage arm, sharing a common pivot point with the 1st stage arm and
base, this stepper driving a threaded bar that attached to a linkage
that goes to the end of the 2nd stage arm. This will become the 2nd
stage muscle.
If
you do this, you have to consider clearances etc for the mechanism for
the 1st stage muscle with reference to the base and 1st stage arm.
Watch
out for shearing stresses with acrylic and "muscle / arm / arm"
triangles describing small angles, you want each side of each "Muscle"
triangle as similar in length as possible. Hint, adding a protruding
mounting point to the 1st stage arm to carry the upper end of the 1st
stage muscle makes life easier.
It
isn't just stresses that shoot up when muscle triangles start
describing small angles, you lose positional accuracy in a big way too.
The 2nd Stage Arm
( 82 kb dxf)
The
2nd stage arm should have a range of movement around its pivot point of
at least 90 degrees .
This
should be about 45 degrees either side of at right angles to the 1st
stage arm.
Control
of the angle of the 2nd stage arm is via the 2nd stage muscle (not
included in plans)
As
said above, consider a 17 frame stepper driving a leadscrew which in
turn pulls a link from the short end of the 2nd stage arm.
Note
the 2nd stage arm pivot around the 1st stage arm has stiffeners, not
this stiffener boss is slotted for a leadscrew.
A
17 frame stepper (and leadscrew) mount is provided at the end of the
2nd stage arm, this controls the angle of the Wrist, eg the business
end of the 2nd stage arm which holds the linear stepper motor. This is
the wrist muscle. I haven't included any detail about the "business"
end of the wrist muscle as regards to attachment points / flanges etc.
The
linear stepper at the "business" end of the 2nd stage arm is the hand
muscle.
The 12mm stroke can control a pincer grab quite nicely.
The stepper motors
(2691 kb dxf )
These
are actual size for a 23 frame stepper of 1 Newton Metre force and a 17
frame stepper of the same power, and of a linear stepper motor with 12
mm stroke and 5 NM force
The complete project
(2879 kb dxf)
Now,
there are some things to note while looking at these drawings in your
favourite CAD application.
The rigidity, precision and therefore usefulness of this project is
going to live and die by how well you do the pivot points. In the
drawings I have assumed 10 mm diameter shafting, which means cheap
enough 10 mm ID bearings, but anyone who just looks at their bearing
and thinks "OK, 25mm OD bearing, just make a 25mm dia recess, export
this to the CAM software, send that to the mill, and voila!" is in for
a hard time.
You're in for a hard time because things like bearings really actually
are the size the manufacturer says they are, to within the tolerance
the manufacturer specifies, so my home made lego works fine, and your
home made lego works fine, but unless we all have exactly the same
calibrated ruler, and use it to ensure that our lego comes out the same
size the drawing says it should be, your lego will not work with my
lego.
A 1 Newton-Metre
stepper direct driving a leadscrew can easily generate 100 Kg thrust,
this isn't going to do the stepper motor much good, nor is it going to
do the acrylic much good, I ask you to note the approximately 3:1 ratio
between the two sides of the 2nd stage arm, lifting 2.5 Kg on one side
of this (when at 90 degrees) will equate to a 7.5 Kg load on the other
side. Even with proper thrust bearings to save the stepper motor, we
really don't want to go much over 15 Kg (when the angle between stage 1
and 2 arms is not a right angle), which will be 7.5 Kg per side of this
design, nota bene, we have essentially a 2 sided design here, and 7.5
Kg per side is enough load for the 2nd stage arm to carry safely,
without flexing unduly, and without exceeding shear loads on mount
points, anchor points and pivots.
Both the 1st stage and 2nd stage arms should have some cross bracing
between each side, but you absolutely need to get your "muscles" sorted
first, and your degrees of movement sorted, and limit switches at the
extents of your limits of movement to prevent it powering on into the
"narrow triangle" akin to a scissor jack and breaking stuff.
While a robot arm is moving in a Cartesian universe (eg XYZ) it does
not move in a linear fashion like a mill, every movement is an arc, or
combination of arcs, so controlling it requires thought. Every
time you want to have the "hand" describe a linear motion in cartesian
space you have to tell the arms to move in a set of curves that total
out to a linear motion at the end of the robot arm.
This project will rapidly introduce you to many aspects of this field.
I just blindly assume that EVERYONE will do as I say here and make the
acrylic one first, even if they only actually want the aluminium one,
the only way you are not
going to destroy your aluminium robot arm is if you have already made
an acrylic one.
Trust me.
One of the REALLY interesting and informative things you can do with
the acrylic one is to shine polarised light through it to see where the
stresses are when loading it in different ways.
If you go and make an acrylic model first you're pretty much guaranteed
to break some part of it when playing, which is good, because it is
cheap to fix and it teaches you, but the aluminium model will be much
more expensive to fix, so the chances are you will blame the model, and
not yourself.
IN all likelihood robot arms are one of those things that, once you
have built one, well, you don't rush out and build a bigger and better
one, because you have got it out of your system, and while cool,
playing with a physical model teaches you all the problems that mere
theory could never do.
One of the main things to learn with robot arms is the interplay
between arm material physical properties and overall strength and
rigidity, rigid costs money, because rigid is either done by exotic
material or exotic design, or maybe both.
There are ways of vastly improving this design, for instance do away
with all the muscles and put the muscle in the pivot itself, as in
commerical robot arms, but at a stroke you say bye bye to ten dollar
stepper motors doing the work through 2 dollar bearings.
As of the time of writing, I've "sold" 3 lots of the commercial version
of this, all three are used commercially in conjuction with a separate
rotary table to coat a variety of rather small objects, repetitively,
on demand, the commercial application in question is both simple, and
very clever, I wish I could say more. However, while the commercial
versions and this version share the same genetic heritage, they aren't
the same.
While there is a tendency to say that the relationship between the
commercial product and the freebie is that the freebie is crap, with
designs that isn't the case, what makes the commercial cousin of this
commercial are some design solutions to that specific requirement...
none of you have that requirement, so why burden you with that bit of
design?
These supplied plans aren't therefore complete, there are essentially
no anchor points, no mounting points, no geometry, no bracing, and the
solutions to these questions are always specific to your own particular
application.
However, there is enough meat here that pretty much by definition
anyone capable of building a working robot arm is capable of fleshing
out the few details missing.
FYI I mainly use Rhino for CAD, MeshCAM for CAM and Mach3 for CNC.
If you need me you can try https://surfbaud.dyndns.org/
(self signed cert)
December 2008